Many aspects of business operations inherently involve hierarchical data. For example, the reporting and geographical relationships between employees reflect hierarchical data structures. A relational database system operated by a business may therefore be required to maintain and query hierarchical data. However, due to the flat nature of the traditional relational model, most relational database systems do not provide efficient support for hierarchical data.
Relational database systems encode the structure of a hierarchy in tables such that a table row represents a hierarchy node. A primary challenge of such encoding is to provide a suitable combination of query performance without sacrificing update performance. This challenge is particularly acute in use cases involving a high rate of complex and possibly-skewed structural updates to the hierarchical data.